﻿using System;
using Autodesk.Revit.DB;

namespace YJKRevitDimensionText.VerticalAutoDim.GeoModel
{
	internal class LevelGeo : IPlanarGeo
	{
		public LevelGeo(Element level, Plane pl, Transform transformWcs2Ecs)
		{
			this.Level = (level as Level);
			this.plane = pl;
			this.TransformWcs2Ecs = transformWcs2Ecs;
		}

		public Plane Plane
		{
			get
			{
				return this.plane;
			}
		}

		public Element Element
		{
			get
			{
				return this.Level;
			}
		}

		public int Weight
		{
			get
			{
				return 11;
			}
		}

		public XYZ Max2DPointECS
		{
			get
			{
				throw new NotImplementedException();
			}
		}

		public XYZ Min2DPointECS
		{
			get
			{
				throw new NotImplementedException();
			}
		}

		public XYZ Max3DPointWCS
		{
			get
			{
				throw new NotImplementedException();
			}
		}

		public XYZ Min3DPointWCS
		{
			get
			{
				throw new NotImplementedException();
			}
		}

		public double TopElev
		{
			get
			{
				return this.Level.Elevation;
			}
		}

		public double BottomElev
		{
			get
			{
				return this.Level.Elevation;
			}
		}

		public double Width
		{
			get
			{
				throw new NotImplementedException();
			}
		}

		public double Distance2Plane
		{
			get
			{
				throw new NotImplementedException();
			}
		}

		public bool Init()
		{
			throw new NotImplementedException();
		}

		private readonly Transform TransformWcs2Ecs;

		private readonly Level Level;

		private readonly Plane plane;
	}
}
